package cn.wolfcode.wolf2w.redis;

import cn.wolfcode.wolf2w.vo.StrategyStatisVO;

import java.util.List;

public interface IStrategyStatisVoRedisService {

    /**
     * 增加攻略的阅读数量
     * @param id
     */
    void increaseViewnum(String id);

    /**
     * 获取指定攻略的StrategyStatic对象（阅读，回复，收藏，转发，置顶）
     * @param sid
     * @return
     */
    StrategyStatisVO getStrategyStaticVO(String sid);

    /**
     * 设置指定攻略的StrategyStatic对象（阅读，回复，收藏，转发，置顶）
     * @param vo
     * @return
     */
    void setStrategyStaticVO(StrategyStatisVO vo);
    /**
     * 给指定攻略的评论数加一
     * @param sid
     */
    void increaseReplynum(String sid);

    /**
     * 给指定攻略 收藏/取消收藏
     * @param sid
     * @param uid
     * @return true：收藏成功   false：取消收藏
     */
    boolean increaseFavor(String sid, String uid);

    /**
     * 给指定的攻略 置顶
     * @param sid
     * @param uid
     * @return true: 顶成功  false: 今日不能再顶啦
     */
    boolean increaseThumb(String sid, String uid);

    /**
     * 通过 攻略id 查询 vo 对象是否存在Redis 中
     * @param sid
     * @return  true:存在     false:不存在
     */
    boolean isVoExists(String sid);

    /**
     * keys strategy_statis_vo:*
     * 通过 keys 获取到 vo集合
     * @param pattern
     * @return
     */
    List<StrategyStatisVO> getVOListByPattern(String pattern);
}
